#pragma once
#include "BaseObject.h"
#include "Weapon.h"
#include "PlayerPlane.h"
#include "BaseStrategy.h"

class Pet : public BaseObject
{
public:
	Pet(void);
	~Pet(void);

	virtual bool init();
	virtual void onEnter();
	virtual void onExit();

	CC_SYNTHESIZE_RETAIN(CCString*, _id, Id);
	//CC_SYNTHESIZE_RETAIN(Weapon*, _weapon, Weapon);
	CC_SYNTHESIZE_RETAIN(BaseStrategy*, _strategy, Strategy);
	CC_SYNTHESIZE_RETAIN(CCArray*, _listSupportedWeapon, SupportedWeapon);
	CC_SYNTHESIZE_RETAIN(PlayerPlane*, _plane, Plane);
	CC_SYNTHESIZE(CCPoint, _offset, Offset);
	CC_SYNTHESIZE(CCPoint, _targetPosition, TargetPosition);
	CC_PROPERTY(int, _weaponLevel, WeaponLevel);
	CREATE_FUNC(Pet);

	virtual void onShooting(float dt);
	virtual void processing(float dt);

	virtual void shoot( Bullet* bullet );

};

